Ext.define('SistIntegral.RRHH.FrmCCostoCTS',{

alias			: "FormCCostoCTS",
forward			: true,
        
Formulario     :   function(btn){

//var CmbEstadoInventario = new SistIntegral.Componentes.Objetos().ComboCCostoProyecto();
//var CamposPorcentaje = new SistIntegral.Componentes.Objetos().CalculoPorcentaje(btn);

//var StoreEstDelInvE = Ext.create('Ext.data.Store', {
//    model: 'CCOSTOPORPERSONA',
//    proxy: {
//    type: 'ajax',
//    url: 'ccostoporpersona/IndexById/'+(btn.itemId=='edit' ? btn.Seleccion.get('Id'):''),
//    reader: {type: 'json',root: 'grid'}}
//});

//StoreEstDelInvE.on('load', function (store, records) {
//    Ext.getCmp('FrmCCostoPorPersona').loadRecord(records[0]);
//    
//    Ext.getCmp('CmbProyecto').getStore().loadRecords(records); 
//    Ext.getCmp('CmbProyecto').setValue(records[0].get('IdProyecto'));
//    
//    Ext.getCmp('CmbCCosto').getStore().loadRecords(records); 
//    Ext.getCmp('CmbCCosto').setValue(records[0].get('IdCCosto'));
//    
//});

var Frm =  Ext.create('Ext.form.Panel', {
    id:'FrmCCostoPorPersona',
    bodyPadding:'5',
    fieldDefaults: {
        msgTarget: 'side',
        labelAlign: 'left',
        labelWidth: 70,
        anchor: '100%',
        margin: '5 5 5 5'
    },
    items: [//CmbEstadoInventario,CamposPorcentaje,
        {
        xtype: 'numberfield',
        fieldLabel: 'Monto',
        name: 'Monto',
        value: btn.Seleccion.get('Monto')
    }],
    buttons: [{
        text: 'Guardar',
        handler: function(){
            var form = this.up('form').getForm();
            if (form.isValid()) {
            
            Ext.MessageBox.show({
               msg: 'Eliminando Centro de Costo ...',
               wait:true,
               waitConfig: {interval:100},
               progressText: 'Espere Por Favor...',
               width:300,
               icon:'ext-mb-download'
            });
            
            form.submit({
                url: btn.hrefTarget+(btn.itemId == 'edit' ? btn.Seleccion.get('IdCTSContable'):''),
                success: function(form, action) {
                    Ext.getCmp('gridctscontable'+btn.record.get('IdCTServ')).getStore().load();
                    Ext.getCmp('WCCostoCTS').close();
                    
                        setTimeout(function(){
                            Ext.MessageBox.hide();
                        }, 1000); 
                },
                failure: function(form, action) {
                    setTimeout(function(){
                            Ext.MessageBox.hide();
                        }, 1000); 
                    Ext.getCmp('WCCostoCTS').close();
                    Ext.MessageBox.show({
                        title: 'Error',
                        msg: 'No se pudo Editar el Centro de Costo',
                        buttons: Ext.MessageBox.OK,
                        icon: Ext.MessageBox.ERROR
                    });
                }
            });
            }
        }
    },{
        text: 'Limpiar',
        handler: function(){
            this.up('form').getForm().reset();
        }
    }]
});
    //if(btn.itemId == 'edit' ){StoreEstDelInvE.load();}
    return Frm;
},        
        
Window      :   function(btn){

var Seleccion = null;
     
    if(btn.itemId == 'edit'){
        Seleccion = Ext.getCmp('gridctscontable'+btn.record.get('IdCTServ')).getSelectionModel().getSelection()[0];
        if(!Seleccion){ 
        Ext.Msg.show({
            title: 'Advertencia',
            msg: 'Seleccione Centro de Costo a Editar',
            icon: Ext.MessageBox.WARNING,
            buttons: Ext.Msg.OK
        });
        return false;
        }
        else{
            if(Seleccion.get('FechaPago') == '')
                {
                   btn.Seleccion = Seleccion 
                }
            else{
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'El Centro de Costo Seleccionado ya ha sido cancelado',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
                return false;
            }
            
        }
    }

    var Item = this.Formulario(btn);

    var win = Ext.create('widget.window', {
    id:'WCCostoCTS',
    title: btn.getText()+' Centro de Costo',
    closable: true,
    //bodyPadding:'5',
    border:false,
    width: 200,
    minWidth: 200,
    height: 100,
    layout:'fit',
    modal: true,
    items: [Item]
    });

    return win.show();
},
Eliminar: function(btnp){
    var Seleccion = null
    Seleccion = Ext.getCmp('gridctscontable'+btnp.record.get('IdCTServ')).getSelectionModel().getSelection()[0]; 
    if(!Seleccion){
        Ext.Msg.show({
                title: 'Advertencia',icon: Ext.MessageBox.WARNING,buttons: Ext.Msg.OK,
                msg: 'Seleccione Registro a Eliminar'
            });
    }
    else{
        function showResult(btn){
            if(btn=='yes'){
             
             Ext.MessageBox.show({
               msg: 'Eliminando Centro de Costo ...',
               wait:true,
               waitConfig: {interval:100},
               progressText: 'Espere Por Favor...',
               width:300,
               icon:'ext-mb-download'
            });
            
                Ext.Ajax.request({
                    url: 'ctscontable/Delete/'+Seleccion.get('IdCTSContable'),
                    success: function(response){
                        var text = response.responseText;
                        if(text == '1'){
                             Ext.getCmp('gridctscontable'+btnp.record.get('IdCTServ')).getStore().load();
                            setTimeout(function(){
                                Ext.MessageBox.hide();
                                //Ext.example.msg('Hecho', 'Tu Operaci&#243n se Realiz&#243 Correctamente!');
                            }, 1000); 
                        }
                        else{
                            Ext.MessageBox.hide();
                    
                            Ext.MessageBox.show({
                                title: 'Error',
                                msg: 'No se pudo eliminar el Centro de Costo',
                                buttons: Ext.MessageBox.OK,
                                icon: Ext.MessageBox.ERROR
                            });
                        }
                    },
                    failure: function(form, action) {
                        Ext.MessageBox.hide();
                    
                        Ext.MessageBox.show({
                        title: 'Error',
                        msg: 'No se pudo eliminar el Centro de Costo',
                        buttons: Ext.MessageBox.OK,
                        icon: Ext.MessageBox.ERROR
                    });
                    }
                });
            }
        }
        if(Seleccion.get('FechaPago')==''){
          Ext.MessageBox.confirm('Mensaje de Confirmaci&#243n', 'Seguro que desea eliminar el Centro de Costo: </br>'+
            Seleccion.get('CCosto')+'</br>Del Proyecto: '+Seleccion.get('Proyecto')+'?', showResult);   
        }
        else{
            Ext.Msg.show({
                title: 'Advertencia',icon: Ext.MessageBox.WARNING,buttons: Ext.Msg.OK,
                msg: 'El Registro ya ha sido pagado y no se puede eliminar'
            });
        }
               
    }
}
});